package com.hs.httpclient.service;

import com.hs.httpclient.listener.DownCallBack;

import java.util.Map;

/**
 * @Author: songhao
 * @Date: 2020/11/12
 * @Description: 基于http的服务接口
 */
public interface HttpService {

    /**
     * 发起一个get请求，并获取对应的结果
     * @param url 请求的url
     * @param headerMap 请求的head信息
     * @return
     */
    String requestGet(String url, Map<String,String> headerMap) throws Exception;


    /**
     * 发送一个post请求，并获取对应的结果
     * @param url 请求的url
     * @param headerMap 请求的head信息
     * @param paramMap 请求的参数信息
     * @return
     * @throws Exception
     */
    String requestPostByForm(String url,Map<String,String> headerMap,Map<String,Object> paramMap) throws Exception;


    /**
     * 下载一个文件
     * @param url 下载的url
     * @param filePath 本地路径
     * @param headMap 请求的head信息
     * @param progress 下载状态信息
     * @throws Exception
     */
    void download(String url, String filePath, Map<String, String> headMap, DownCallBack progress) throws Exception;
}
